package com.hzhc.vo;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzhc.dto.BaseDto;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 卡口记录
 * </p>
 *
 * @author 功不唐捐
 * @since 2024-05-30
 */
@Data
public class DeclareCarVo extends BaseDto implements Serializable {

    private Long id;

    /**
     * 货主
     */
    private String companyName;

    /**
     * 型号/规格
     */
    private String xhtype;

    /**
     * 件数
     */
    private Integer num;

    /**
     * 吨数
     */
    private String ton;

    /**
     * 车牌号
     */
    private String carNo;

    /**
     * 申报人
     */
    private String declarant;

    /**
     * 手机号
     */
    private String telephone;

    /**
     * 申报时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime planTime;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 是否删除
     */
    private Integer disable;

    /**
     * 客户id
     */
    private Long memberId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 委托Id
     */
    private Long ywOrderId;

    /**
     * 不限时间标志
     */
    private Integer timeLimit;

    /**
     * 集装箱A
     */
    private String cntrA;

    /**
     * 集装箱B
     */
    private String cntrB;

    /**
     * 货物A
     */
    private String hwnameA;

    /**
     * 货物B
     */
    private String hwnameB;

    /**
     * 类型  1未预约   0已预约
     */
    private Integer type;

    /**
     * 箱A理货状态 0未理货 10已理货
     */
    private Integer tallyFlag;
    private Integer dcTallyFlag;
    private Integer tallyFlagA;
    private Integer tallyFlagB;
    private Integer tallyFlagC;
    private Integer tallyFlagD;

    /**
     * 计划A箱贝位
     */
    private String jhBaya;

    /**
     * 计划B箱贝位
     */
    private String jhBayb;

    private String bay;
    private String bayA;
    private String bayB;

    /**
     * 委托号
     */
    private String orderNo;

    /**
     * 操作用户名
     */
    private Long userId;

    private String userName;

    /**
     * 箱况A
     */
    private String xkA;

    /**
     * 箱况B
     */
    private String xkB;

    /**
     * 出卡状态 0 未出卡 1 已出卡
     */
    private Integer outType;

    /**
     * 出卡时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime outTime;

    /**
     * 计划A箱区域
     */
    private String jhAreaa;

    /**
     * 计划B箱区域
     */
    private String jhAreab;

    /**
     * 业务类型
     */
    private String ywcode;

    /**
     * 进场车辆预约ID
     */
    private Long vehicleId;

    /**
     * 出场车辆预约ID
     */
    private Long vehicleIdB;

    /**
     * 箱尺寸A
     */
    private String cntrSizeA;

    /**
     * 箱尺寸B
     */
    private String cntrSizeB;
    private String cntrSizeC;

    private String cntrSizeD;


    private String cntrNo;
    private String cntrNoA;
    private String cntrNoB;
    private String cntrNoC;
    private String cntrNoD;

    private String goodsA;
    private String goodsB;
    private String goodsC;
    private String goodsD;

    /**
     * A箱残箱标志（0好箱，1残损箱）
     */
    private Integer damagedFlagA;
    /**
     * B箱残箱标志（0好箱，1残损箱）
     */
    private Integer damagedFlagB;

    private String orderType;

    /**
     * 开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;

    private String jkWeight;
    private String ckWeight;

    private Long ywOrderCntrIdA;

    private Long ywOrderCntrIdB;

    /**
     * 箱A空重
     */
    private String efFlagA;

    /**
     * 箱B空重
     */
    private String efFlagB;

    private String text;

    private String sealNoA;
    private String sealNoB;

    /**
     * 箱A
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long jzxIdA;

    /**
     * 箱B
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long jzxIdB;

    private String destinationA;
    private String destinationB;

    private String accesspath;

    private String planId;//班列id


    /**
     * 是否再次提空标志 0未生成 1已生成
     */
    private Integer createFlag;

    private String orderTypeName;//委托类型

    private List<String> cntrNoList;

    private String lhWeight;

    private String orderNos;

    /**
     * 提箱委托号
     */
    private String txOrderNo;

    private String sealNo;

    private String destination;
    private String planName;

    private String nameSimples;

    private String machineName;

    private List<String> orderNoList;

    /**
     * 关联数据id
     */
    private Long pid;

    /**
     * 箱型20 40
     */
    private Integer cntrxh;
}
